<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <title>Document</title>
        <style>
            * {
                margin: 0;
                padding: 0;
                box-sizing: border-box;
            }
            body {
                height: 100vh;
                display: flex;
                justify-content: center;
                align-items: center;
                background-color: rgb(0, 0, 0);
            }
            .dna {
                position: relative;
                width: 200px;
                height: 502px;
                transform: rotate(30deg) skew(-20deg);
            }
            .line {
                position: absolute;
                left: 0;
                top: calc(var(--h) * 50px);/* 定位的top大小为每天线的 自定义属性 - -h 乘以 50 px ，因为每条线的 - -h 值不一样，所以就快速得到了全部线的top值。 */
                height: 2px;
                width: 200px;
                background-color: rgb(248, 154, 14);
                box-shadow: 0 0 10px rgb(248, 154, 14), 0 0 10px rgb(248, 154, 14);/* 阴影，写两行是为了阴影更亮 */
                animation: round 3s linear calc(var(--h) * 0.2s) infinite;/* calc( var(–h) * 0.2s ) 是动画延迟播放，通过calc函数计算每条线延迟多少秒再播放 */
            }
            @keyframes round {
                100% {
                    transform: rotateY(360deg);
                }
            }
            /* 定义每条线左边和右边的圆，通过双伪类实现 */
            .line::after,
            .line::before {
                content: '';
                position: absolute;
                top: -20px;
                width: 40px;
                height: 40px;
                border-radius: 50%;
            }
            .line::after {
                left: -20px;
                background-color: rgb(0, 26, 255);
                box-shadow: 0 0 15px rgb(0, 26, 255), 0 0 20px rgb(0, 26, 255);
            }
            .line::before {
                right: -20px;
                background-color: rgb(61, 248, 3);
                box-shadow: 0 0 15px rgb(61, 248, 3), 0 0 20px rgb(61, 248, 3);
            }
        </style>
    </head>
    <body>
        <div class="dna">
            <div class="line" style="--h: 1"></div>
            <div class="line" style="--h: 2"></div>
            <div class="line" style="--h: 3"></div>
            <div class="line" style="--h: 4"></div>
            <div class="line" style="--h: 5"></div>
            <div class="line" style="--h: 6"></div>
            <div class="line" style="--h: 7"></div>
            <div class="line" style="--h: 8"></div>
            <div class="line" style="--h: 9"></div>
            <div class="line" style="--h: 10"></div>
        </div>
    </body>
</html>
